#ifndef __LINKSTACK_H_
#define __LINKSTACK_H_

#include "DoubleLinkList.h"

typedef struct Linkstack
{
    DLlist stack;
    ElementType TopElement;
}DLStack;

//初始化链式栈
int DLStackInit(DLStack* s);
//销毁链式栈
void DLStackDestroy(DLStack* s);
//入栈
void DLStackPush(DLStack* s, ElementType element);
//出栈
ElementType* DLStackPop(DLStack* s);
//获取栈顶元素
ElementType DLStackGetTop(DLStack* s);
//判断栈是否为空
int DLStackIsEmpty(DLStack* s);
//打印
void DLStackPrint(DLStack* s);
//获取队列有效元素个数
int LQueueSize(DLStack* s);

#endif